using System.ComponentModel.DataAnnotations;

namespace Lzfy_His_Service.Models
{
    /// <summary>
    /// 在院病人信息模型
    /// </summary>
    public class InpatientInfo
    {
        /// <summary>
        /// 床位号
        /// </summary>
        public string BedCode { get; set; } = string.Empty;

        /// <summary>
        /// 患者姓名
        /// </summary>
        public string PatientName { get; set; } = string.Empty;

        /// <summary>
        /// 患者ID
        /// </summary>
        public string PatientId { get; set; } = string.Empty;

        /// <summary>
        /// 住院次
        /// </summary>
        public string VisitId { get; set; } = string.Empty;

        /// <summary>
        /// 年龄
        /// </summary>
        public string PatientAgeString { get; set; } = string.Empty;

        /// <summary>
        /// 入院时间
        /// </summary>
        public string AdmissionDate { get; set; } = string.Empty;

        /// <summary>
        /// 主任医生
        /// </summary>
        public string DoctorChief { get; set; } = string.Empty;

        /// <summary>
        /// 住院流水号
        /// </summary>
        public string PaiVisitId { get; set; } = string.Empty;
    }

    /// <summary>
    /// 在院病人列表查询请求参数
    /// </summary>
    public class InpatientListRequest
    {
        /// <summary>
        /// 科室代码（病区代码）
        /// </summary>
        [Required(ErrorMessage = "科室代码不能为空")]
        public string CurrentWard { get; set; } = string.Empty;

        /// <summary>
        /// 医院区域代码，默认为LZ001
        /// </summary>
        public string HospitalArea { get; set; } = "LZ001";
    }

    /// <summary>
    /// 在院病人列表查询响应
    /// </summary>
    public class InpatientListResponse
    {
        /// <summary>
        /// 是否成功
        /// </summary>
        public bool Success { get; set; }

        /// <summary>
        /// 消息
        /// </summary>
        public string Message { get; set; } = string.Empty;

        /// <summary>
        /// 在院病人列表
        /// </summary>
        public List<InpatientInfo> Data { get; set; } = new List<InpatientInfo>();

        /// <summary>
        /// 总数量
        /// </summary>
        public int TotalCount { get; set; }
    }
}